<?php
// $Id: Overloadable.php 19 2010-11-03 03:55:48Z mjohnson60@gmail.com $


class Overloadable extends Object
{

	/**
	 * Overload implementation. No need for implementation in PHP5.
	 *
	 * @access public
	 */
	function overload()
	{
	
	}

	/**
	 * Magic method handler.
	 *
	 * @param string $method Method name
	 * @param array $params Parameters to send to method
	 * @return mixed Return value from method
	 * @access private
	 */
	function __call($method, $params)
	{
		if (!method_exists($this, 'call__'))
		{
			trigger_error(sprintf(__('Magic method handler call__ not defined in %s', true), get_class($this)), E_USER_ERROR);
		}
		
		return $this->call__($method, $params);
	}

	/**
	 * Getter.
	 *
	 * @param mixed $name What to get
	 * @param mixed $value Where to store returned value
	 * @return boolean Success
	 * @access private
	 */
	function __get($name)
	{
		return $this->get__($name);
	}

	/**
	 * Setter.
	 *
	 * @param mixed $name What to set
	 * @param mixed $value Value to set
	 * @return boolean Success
	 * @access private
	 */
	function __set($name, $value)
	{
		return $this->set__($name, $value);
	}
}